package org.activiti.designer.eclipse.editor;
import org.activiti.designer.eclipse.util.FileService;
import org.eclipse.core.resources.IFile;
import org.eclipse.graphiti.ui.editor.DiagramEditorMatchingStrategy;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorMatchingStrategy;
import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.PartInitException;
public class ActivitiDiagramMatchingStrategy implements IEditorMatchingStrategy {
@Override
public boolean matches(final IEditorReference editorRef, final IEditorInput input) {
try {
final IFile newDataFile = FileService.getDataFileForInput(input);
final IFile openEditorDataFile = FileService.getDataFileForInput(editorRef.getEditorInput());
if (newDataFile.equals(openEditorDataFile)) {
return true;
}
} catch (PartInitException exception) {
exception.printStackTrace();
}
return new DiagramEditorMatchingStrategy().matches(editorRef, input);
}
}